package com.hm.ruiji.util;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.javamail.JavaMailSender;

public class SendMailUtil {

    @Value("${ruiji.sender}")
    private static String SENDER;

    @Autowired
    private static JavaMailSender sender;

    /**
     *
     * @param to        收件人
     * @param subject   主题
     * @param content   内容
     * @param file      附件
     * @return
     */
    public static String send(String to, String subject, String content, MultipartFile file) {
        // 获取消息对象
        MimeMessage mimeMessage = sender.createMimeMessage();

        // 创建一个消息帮助对象
        MimeMessageHelper helper = null;

        try {

            helper = new MimeMessageHelper(mimeMessage, true);

            // 设置发送人
            helper.setFrom(SENDER);

            // 设置收件人
            helper.setTo(to);

            // 设置主题
            helper.setSubject(subject);

            // 设置内容
            helper.setText(content);

            // 设置上传附件
            helper.addAttachment(file.getOriginalFilename(), file);

            sender.send(mimeMessage);

        } catch (MessagingException e) {
            e.printStackTrace();
        }

        return "验证码发送成功！";
    }/**
     *
     * @param to        收件人
     * @param subject   主题
     * @param content   内容
     * @return
     */
    public static String send(String to, String subject, String content) {
        // 获取消息对象
        MimeMessage mimeMessage = sender.createMimeMessage();

        // 创建一个消息帮助对象
        MimeMessageHelper helper = null;

        try {

            helper = new MimeMessageHelper(mimeMessage, true);

            // 设置发送人
            helper.setFrom(SENDER);

            // 设置收件人
            helper.setTo(to);

            // 设置主题
            helper.setSubject(subject);

            // 设置内容
            helper.setText(content);

            sender.send(mimeMessage);

        } catch (MessagingException e) {
            e.printStackTrace();
        }

        return "验证码发送成功！";
    }
}